package com.groupseven.backend.services;

import com.groupseven.backend.domain.User.User;
import com.groupseven.backend.domain.User.UserRole;

import java.util.List;


public interface UserService {
    /**
     * @Author 王志华
     * 通过传入一个用户类型，用其中的Userid字段查询用户
     * @param user
     * @return
     */
    User selectById(User user);

    /**
     * @Author 王志华
     * @return
     */
    public List<User> getAllUsers();

    /**
     * @Author 王志华
     * @param username
     * @return
     */
    User selectByUsername(String username);

    /**
     * @Author 王志华
     * @param ur
     * @return
     */
    int updateUserRole(UserRole ur);

    /**
     * @Author 王志华
     * @param user
     * @return
     */
    int addUser(User user);

    /**
     * @Author 王志华
     * @param Usernum
     * @return
     */
    int deleteByUsername(int Usernum);

    /**
     * @Author 王志华
     * @param date
     * @param Username
     * @return
     */
    int updateLastLoginDate(String date,String Username);

    /**
     * @Author 王志华
     * @param Username
     * @return
     */
    int logout(String Username);

    /**
     * @Author 王志华
     * @param user
     * @return
     */
    User selectByUsernameAndPassword(User user);

    /**
     * @Author 王志华
     * @param users
     * @return
     */
    boolean multi_delete(List<User> users);

    /**
     * @Author 王志华
     * @param query
     * @return
     */
    List<User> FuzzySearch(String query);
}
